extends Node

var 选中的技能: 技能基类
var 是否行动中: bool = false

func 初始化():
	选中的技能 = null
	是否行动中 = false

func 选择技能(技能:技能基类):
	if 是否行动中:
		return
	
	选中的技能 = 	技能
	
	print("选中技能："+选中的技能.name)
	
	网格管理器.显示技能范围(技能.获取技能范围(), 技能.网格颜色)
		
		
func 使用技能():
	if 是否行动中:
		return
	if 	选中的技能==null:
		return
		
	var 角色 = 选中的技能.角色
	if 角色.当前行动点数 < 选中的技能.花费行动点数:
		print("角色行动点数不足")
		return
		
	var target = 网格管理器.获取鼠标网格坐标()
	if not	选中的技能.获取技能范围().has(target):
		return
		
	是否行动中 = true
	网格管理器.显示技能范围([])
	选中的技能.开始(target, 技能结束回调)
			
	
	
func 技能结束回调():
	
	是否行动中 = false	
	网格管理器.显示技能范围(选中的技能.获取技能范围(), 选中的技能.网格颜色)
	print("技能 "+选中的技能.名称+" 结束")
